AWS Elastic BeanstalkでKentico Xperience 13 を実行する
いわさです。
Kenticoのドキュメントには、AWSでの構築方法の手順がありますが、EC2での構築手順しかありません。
PaaS環境で稼働させるべく、本日はElastic Beanstalk + RDSで実行してみたいと思います。
また、AWS Toolkit for Visual Studioを使ってElastic Beanstalk環境を簡単にデプロイ出来ますのでその方法をとっています。
データベースのセットアップ
今回はWebアプリケーションをElastic Beanstalkへデプロイします。
よって、データベースを外部に用意したいと思いますので、Amazon RDSを使ってみましょう。
セットアップ方法ですが、KenticoのデータベースにはSQL Serverを利用しますが、インストール済みのKenticoインストーラーから新規サイトを構築すると参照しているインスタンスに新規データベースを作成することが可能です。
通常はローカルデータベースへ作成したのちに外部データベースへエクスポートすることが多いですが、本日はアプリケーション側に焦点を当てているために、インストーラーを実行するローカル端末からRDSに直接アクセスしそのままセットアップさせてることにしました。
Kentico13では、Microsoft SQL Server 2012~2019とされています。
エディションの指定もありません。
SQL Server 2019 Express Edition で Amazon RDSを作成します。
ちなみにクライアントから直接接続が出来るように、パブリックアクセスの設定をしてあります。
インストール済みのインストーラーを実行します。
インストール手順は以下にまとめてあります。
今までと異なる点ですが、Database設定セクションでI have access to SQL server
を選択し、RDSのエンドポイントと認証情報を入力することです。
これでインストール処理の中で、RDS上に必要なデータベースやテーブル・データ・スクリプトなどを作成してくれます。
アプリケーションのデプロイ
先程のインストールでwwwroot
配下にアプリケーションがセットアップされています。
インストール時に選択したKentico MVCでは、管理アプリケーションとライブサイトアプリケーションの2つのアプリケーションがデプロイされます。
そしてインストーラーではサンプルウェブサイトとしてDancingGoat
を選択したため、ライブサイトアプリケーションもそのようになっています。
Elastic Beanstalkへは2つともデプロイが必要です。
今回のデプロイにはAWS Tooklit for Visual Studioを使用したいと思います。
Visual Studioの拡張機能で、Visual Studio上でのAWSアプリケーションの開発・デバッグ・デプロイを行うにあたり便利な機能が備わっています。
先程のソリューションファイルをVisual Studioで開いて、プロジェクトファイルを右クリックしPublish to AWS Elastic Beanstalk
を選択します。
ウィザードに従ってセットアップすれば特に問題はありませんが、オプションセクションにて、RDSのセキュリティグループを選択しておくとBeanstalkからの通信が自動で許可されます。
ここで選択しなかった場合は、後ほどセキュリティグループの設定を行って通信の許可を行ってください。
セットアップされました。
マネジメントコンソール上でもアプリケーションが作成されています。
通常のWebアプリケーションであればこれで終わりなのですが、Kenticoの場合はセットアップ直後はエラー画面となります。
Kenticoサイトアプリケーションへのカスタムドメイン登録と、クライアントポータルでライセンスキーの発行&登録が必要です。
今回はBeanstalkで作成されたデフォルトドメインを使用しますので、こちらを使ってライセンスキーを発行します。
発行したライセンスキーをサイトアプリケーションへ登録します。
使用出来るようになりました。
まとめ
- KenticoはElastic Beanstalkでもデプロイして動作させることが出来る
- インストーラーから直接RDSへセットアップすることも出来る
- AWS Toolkit Visual Studioを使うととても簡単にElastic Beanstalkへデプロイが出来る。